查看原文
其他

预处理太慢,Facebook直接JIT C++代码

h4cd 开源中国 2019-10-31

Facebook 正在进行 C++ 代码即时编译,将其视为运行快速的脚本语言。

引用 phoronix 网站的消息,Facebook 工程师在本月的布鲁塞尔 EuroLLVM 会议上简要介绍了这项工作。

多年来,Facebook 在 HHVM 上的工作都致力于各种编程语言创新,此前他们在使用超快速 C/C++ 预处理器进行其它开源语言相关的工作时,系统运行很慢,现在最新工作是直接支持 JIT C++ 代码,将其视为脚本语言,速度得到了巨幅提升。

具体来看,Facebook 目前已经在生产中使用 JIT 过的 C++ 代码作为他们自己的“高效脚本框架”,用于在他们的 L7 反向代理中处理他们的 HTTP 请求处理逻辑。

如前边的图片所示,“Handling all Facebook requests with JITed C++ code”,所有 HTTP 请求都使用 JIT 过的 C++ 处理,C++ 脚本在运行时编译、链接与执行,并由 LLVM/Clang 构建。与其它脚本语言相比,这提供了更好的调试、性能分析和最终的运行时性能。

Facebook 工程师表示,JIT C++ 语言需要依赖于预编译的头文件和其它更改,以适应其工作流程与相应要求,新的 JIT C++ 脚本框架比以前使用的另一种脚本语言快 4 倍。但其同时也表示,这会在一定程度上增加初始化启动时间。

查看「阅读原文」了解更多。

开源中国征稿啦!


开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 200 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。


现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿


推荐阅读

“红帽不要脸”?20年来首次修改 logo

5月数据库排行:PostgreSQL 慢增长,Redis 下跌

编程语言之父谈语言设计,龟叔大赞 TypeScript

为什么开源?curl 作者:让世界变得更美好

微软推出新语言 Bosque,超越结构化程序设计

我,开源中国,「在看」↓↓↓

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存